1. Field of the Invention
The principles of the invention relates generally to error recovery, and more particularly, to data flow control error recovery in a network device.
2. Description of Related Art
Routers receive data on a physical media, such as optical fiber, analyze the data to determine its destination, and output the data on a physical media in accordance with the destination. In some router systems, data cells of a packet must be sent out in order based on a sequence number associated with each data cell. Gaps in sequence numbers may occur depending on the data cell type. When a memory read error occurs, such as a cyclic redundancy code (CRC) error, the sending of data cells affected by the error to a downstream device may become stalled. As a result, the downstream device may continually wait for missing data cells that will never arrive.
A conventional approach to the solving this problem involved the use of a single timeout mechanism at the downstream device. This approach, however, does not address the issue of sequence gaps. Because information about the data cells affected by the error, such as cell type, is not transmitted to the downstream device, the downstream device may needlessly wait for the timeout period to expire for data cells associated with a non-existing sequence number.
It is therefore desirable to improve flow control in a network device when memory read errors occur.